In transactional memory systems, regions of code are speculatively executed in parallel. Conflicts arise when, for example, two transactions attempt to access a same location in memory. For example, a conflict occurs when first and second transactions attempt to write to a same location in memory. Additionally, a conflict occurs when a first transaction attempts to write to a location in memory and a second transaction attempts to read that same location in memory.